using System;
using System.ComponentModel.DataAnnotations;

namespace AiPlatformAdmin.Api.DTOs;

public class TokenUsageDto
{
    public int Id { get; set; }
    public int UserId { get; set; }
    public string Username { get; set; } = string.Empty;
    public int AgentId { get; set; }
    public string AgentName { get; set; } = string.Empty;
    public int TokenCount { get; set; }
    public DateTime Timestamp { get; set; }
    public string RequestType { get; set; } = string.Empty;
    public int TenantId { get; set; }
}

public class CreateTokenUsageDto
{
    [Required]
    public int UserId { get; set; }

    [Required]
    public int AgentId { get; set; }

    [Required]
    public int TokenCount { get; set; }

    [Required]
    [MaxLength(100)]
    public string RequestType { get; set; } = string.Empty;
}

public class TokenUsageSummaryDto
{
    public int TotalTokens { get; set; }
    public int TotalRequests { get; set; }
    public DateTime? FirstUsage { get; set; }
    public DateTime? LastUsage { get; set; }
}

